User interfaces receive user input and process the user input to provide for interaction between a user and a machine. On some user interfaces, the input mechanism provides direct mechanical feedback to the user. For example, a specific amount of force is required to depress a mechanical button. The button also springs back with a specific amount of force when released, and the user can feel the spring-back force. On other user interfaces, such as touchscreens, the input mechanism does not provide direct mechanical feedback. In a typical touchscreen, the input mechanism is a hard glass or plastic surface that does not yield to pressures associated with touch input. Therefore, a separate mechanical feedback mechanism may be provided.
In addition to providing mechanical feedback, user interfaces often provide visual or audio feedback. For example, on a touchscreen, the display may show an input-confirming image such as a highlighted menu option. Conventional user interfaces often fail to provide an optimal feedback response to the user. If the feedback mechanism generates a uniform response to different inputs, e.g., vibrating in the same manner each time a button is pressed, then the user cannot rely on the feedback mechanism alone to distinguish one input from another because the response is not specific enough. Failure may also occur when the feedback takes too long to reach the user, i.e., feedback latency.